/**
 * 
 */
package com.nsoft.server.service.dao;

import java.io.Serializable;
import java.util.List;

/**
 * @author venkat
 *S
 */
public interface GenericDAO <T, ID extends Serializable>{
	
	T findById(ID id, boolean lock);
	 List<T> findAll();
	 
	 T makePersistent(T entity);
	 List<T> makeAllPersistent(List<T> entities) ;
	 void makeTransient(T entity);
	 void	 flush();
	 T merge(T entity);
	 void remove(T entity);
	
	 Class<T> getEntityBeanType();

}
